home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
biz
/
dopus
/
ViewToolRexx.lha
/
ViewTool.dopus5
next >
Wrap
Text File
|
1999-02-21
|
4KB
|
61 lines
/* Anzeige von jpg-Dateien mit ViewTool aus DOpus5 heraus
von Peter Hauke
e.Mail: twilight@rcs.urz.tu-dresden.de
WWW: http://rcswww.urz.tu-dresden.de/~twilight
andere Tools: MaschCalc (Aminet:misc/sci/maschcal.lha)
$VER: ViewTool.dopus5 Version 1.0 (21.02.1999)
ViewTool aus dem Aminet ist ein jpg-Anzeiger mit PPC-Unterstützung
Dafür läßt es sich jedoch nicht von der Shell aus bedienen, sodaß
ein einfaches Einbinden in DirectoryOpus nicht möglich ist, wie man
es z.B. von ViewTek oder FastJPEG gewöhnt ist.
Da das mitgelieferte ARexx-Script bei ViewTool nicht viel taugt und
zudem fehlerbehaftet ist (die auch in der Anleitung auftauchen)
gibts hier ein neues - es ist mein erster Versuch in ARexx, also
haut nicht alle auf mir rum, wenn was nicht stimmt!
*/
OPTIONS RESULTS
ADDRESS 'DOPUS.1' /* Opus ist Objekt der Begierde */
lister query source stem source_handle /* Opus ermittelt aktuelle Lister */
lister query source_handle.0 Path /* Pfad des aktuellen Listers ermittelt ...*/
pfad=RESULT /* ... und in Variable "pfad" speichern */
lister query source_handle.0 selfiles stem files /* Angewählte Dateinamen ermitteln und in Feld "files" abspeichern */
do a=0 to files.count-1 /* Schleifenbeginn: von 0 bis files.count-1
in files.count wird von opus die anzahl der angewählten files gespeichert,
die zählung beginnt jedoch bei 0 (daher auch files.count-1) */
lister select source_handle.0 files.a OFF /* alle Files im Lister deselektieren */
end
lister refresh source_handle.0 full /* Lister refreshen, damit Deselktion wirklich statt findet */
/* Die nächsten 5 Zeilen erzeugen aus dem String "pfad" und den Einträgen
im Feld files (files.0 bis files.i) einen langen String "gesamtpfad"
Hintergrund: wenn man z.B. 20 Files in einer Schleife NACHEINANDER zu
ViewTool schickt, kann man das Anzeigen nicht durch drücken von ESC ab-
brechen, da für ViewTool jeder Aufruf seperat erfolgt. Übergibt man nun
alle Dateinamen auf einmal, kann man das Anzeigen abbrechen.
Die Übergabe sieht folgendermaßen aus:
LOADIMAGE File=pfad:(files.0|files.1|files.2...|files.i) */
gesamtpfad=pfad||'('||files.0 /* aus pfad und der ersten angewählten Datei (files.0) wird ein String gebildet */
do i=1 to files.count-1 /* Schleifenbeginn: von 1 (weil files.0 schon abgearbeitet) bis files.count-1 */
gesamtpfad=gesamtpfad||'|'||files.i /* zum Dateistring "gesamtpfad" wird immer ein neues Element hinzugefügt */
end /* Schleifenende */
gesamtpfad=gesamtpfad||')' /* zum Abschluß noch ein ) */
/* Übergabe an ViewTool */
ADDRESS 'ViewToolRexx' /* ViewTool-Rexxport aufrufen */
LOADIMAGE 'file='gesamtpfad /* ViewTool soll Datei laden */
EXIT(0) /* Programmende */